// pages/apply/apply.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
      personid:'',
      bePerson:'',
      resonText:'',
      date:'请选择',
      date1:'请选择',
      today:'',
      carid:'',
      array: ['请选择','信息技术与文化管理学院','信息工程学院', '智能工学院', '财贸学院', '校长办公室'],
      sex: ['请选择','男', '女'],
      selectedOption: '请选择',
      index: 0,
      historyList: [], // 添加历史记录列表
    },
    

  /* 证件号传值 */
  Card(e){
    console.log(e.detail.value);
    this.setData({
      personid:e.detail.value
    })
  },
    onLoad(options) {
      console.log("信息",wx.getStorageSync('userinfo'));
      /* 开始时间设置成今天 */
      const today = new Date();
      const year = today.getFullYear();
      const month = today.getMonth() + 1;
      const day = today.getDate();
      const formattedDate = `${year}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`;
      this.setData({
        today: formattedDate
      });
      
      // 加载历史记录
      this.loadHistory();
    },
    /* 到访单位列表 */
    bindPickerChange: function(e) {
      this.setData({
        index: e.detail.value
      })
    },
    /* 性别列表 */
    bindPickerChange1: function(e) {
      const selectedIndex = e.detail.value;
      const selectedOption = this.data.sex[selectedIndex];
      this.setData({
        selectedOption: selectedOption
      });
    },
    /* 开始时间 */
    bindDateChange: function(e) {
      this.setData({
        date: e.detail.value
      })
    },
    /* 结束时间 */
    bindDateChange1: function(e) {
      this.setData({
        date1: e.detail.value
      })
    },
    /* 被访人 */
    bePer(e){
      this.setData({
        bePerson:e.detail.value
      })
    },
    /* 进校事由 */
  reson(e){
    this.setData({
      resonText:e.detail.value
    })
  },
    // 加载历史记录
    loadHistory() {
      const historyList = wx.getStorageSync('visitHistory') || [];
      this.setData({
        historyList: historyList
      });
    },

    // 保存历史记录
    saveHistory(visitData) {
      let historyList = wx.getStorageSync('visitHistory') || [];
      // 只保留最近10条记录
      if (historyList.length >= 10) {
        historyList.pop();
      }
      
      // 添加身份证信息到历史记录
      const historyData = {
        ...visitData,
        personid: this.data.personid  // 添加身份证信息
      };
      
      historyList.unshift(historyData);
      wx.setStorageSync('visitHistory', historyList);
      this.setData({
        historyList: historyList
      });
    },

    // 使用历史记录自动填充
    fillFromHistory(e) {
      const index = e.currentTarget.dataset.index;
      const history = this.data.historyList[index];
      
      this.setData({
        personid: history.personid,
        selectedOption: history.sex,
        date: history.date,
        date1: history.date1,
        index: this.data.array.indexOf(history.target),
        bePerson: history.bePerson,
        resonText: history.resonText
      });
    },

    // 自动填充最新历史记录
    autoFillLastHistory() {
      const historyList = wx.getStorageSync('visitHistory') || [];
      if (historyList.length === 0) {
        wx.showToast({
          title: '暂无历史记录',
          icon: 'none'
        });
        return;
      }

      // 获取最新的历史记录
      const lastHistory = historyList[0];
      
      this.setData({
        personid: lastHistory.personid,
        selectedOption: lastHistory.sex,
        date: lastHistory.date,
        date1: lastHistory.date1,
        index: this.data.array.indexOf(lastHistory.target),
        bePerson: lastHistory.bePerson,
        resonText: lastHistory.resonText
      });

      wx.showToast({
        title: '已填充最新记录',
        icon: 'success'
      });
    },

    submit(){
      // 鉴定空
      if(this.data.personid.length!==18){
        wx.showToast({
          title: '请填写正确证件号',
          icon:"error"
        })
        return
      }
      if(this.data.selectedOption.length==0 ||this.data.selectedOption=="请选择"){
        wx.showToast({
          title: '性别不为空',
          icon:"error"
        })
        return
      }
      if(this.data.date.length==0 ||this.data.date=="请选择"){
        wx.showToast({
          title: '开始日期不为空',
          icon:"error"
        })
        return
      }
      if(this.data.date1.length==0 ||this.data.date1=="请选择"){
        wx.showToast({
          title: '结束日期不为空',
          icon:"error"
        })
        return
      }
      if(this.data.index.length==0 ||this.data.index==0){
        wx.showToast({
          title: '到访单位不为空',
          icon:"error"
        })
        return
      }
      if(this.data.bePerson.length==0){
        wx.showToast({
          title: '被访人不为空',
          icon:"error"
        })
        return
      }
      if(this.data.resonText.length==0){
        wx.showToast({
          title: '进校理由不为空',
          icon:"error"
        })
        return
      }

        wx.showLoading({
          title: '请稍等',
        })

        const visitData = {
          name: wx.getStorageSync('userinfo').name,
          phone: wx.getStorageSync('userinfo').user,
          sex: this.data.selectedOption,
          personid: this.data.personid,
          date: this.data.date,
          date1: this.data.date1,
          target: this.data.array[this.data.index],
          bePerson: this.data.bePerson,
          resonText: this.data.resonText,
        };

        const app = getApp({});
        wx.request({
          url: app.globalData.baseUrl + '/mini/visitor',
          method:"POST",
          data: visitData,
          success:(res)=>{
            wx.hideLoading()
            console.log("插入数据库结果",res);
            if(res.data.status==200){
              // 保存到历史记录
              this.saveHistory(visitData);
              
              wx.showModal({
                title: '提交成功',
                content: '请耐心等待',
                complete: (res) => {
                  if (res.cancel) {
                     wx.navigateBack()
                  }
                  if (res.confirm) {
                     wx.navigateBack()
                  }
                }
              })
            }
          },
          fail:(res)=>{
            wx.hideLoading()
            console.error(res);
          }
        })
    }, 
  })